-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The OIFS Scheme #1306
The OIFS Scheme #1306
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good,
A guess a question for a wider audience e.g. @timfelle @timofeymukha @MartinKarp is if we would like to have a new fluid_pnpn for oifs or a if statement?
@timfelle Any ideas why the CICD fails, despite this having a fresh sync with |
@Kamyarmvn can you please merge with the latest develop such that CI tests will run properly |
I will try again. For the issue of if statement in the fluid_pnpn step subroutine, one solution seems to be using a wrapper for the advection and make_rhs derived types, initilized based on the method and then called in the step subroutine. |
Device codes are failing since the |
Head branch was pushed to by a user without write access
I'm sorry for the inconvenience. the .depends_device is updated now with the new dependencies. |
please add the device kernel headers to the PS. I know its a lot of manual management of the build system 🙈 |
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kernel headers added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Taylor-Green vortex case is revised.
I will remove the code related to the device at this stage and add the device codes later. |
Reminds me that I should write the device part of the contribution guide :( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the codes related to the device. Once again, sorry for the trouble.
Sorry for the reminder 😅 |
@njansson I am not sure what goes wrong in the Reframe tests. Could you have a look? |
Reframe seems to be behaving as expected. Seems like the scalar interface is missing arguments. I clone the branched and gave the RBC case try (similar to the case that fails) * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x13d93f925ec0)
frame #0: 0x000000010014fb48 neko`__scalar_pnpn_MOD_scalar_pnpn_init at scalar_pnpn.f90:227:83
224
225 call advection_factory(this%adv, params, this%c_Xh, &
226 this%chkp%ulag, this%chkp%vlag, this%chkp%wlag, &
-> 227 this%chkp%dtlag, this%chkp%tlag, time_scheme, this%slag)
228 end subroutine scalar_pnpn_init
229
230 !> I envision the arguments to this func might need to be expanded
Target 0: (neko) stopped.
warning: This version of LLDB has no plugin for the language "fortran90". Inspection of frame variables will be limited.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x13d93f925ec0)
* frame #0: 0x000000010014fb48 neko`__scalar_pnpn_MOD_scalar_pnpn_init at scalar_pnpn.f90:227:83
frame #1: 0x00000001000f9d5c neko`__case_MOD_case_init_common at case.f90:255:59
frame #2: 0x00000001000fb88c neko`__case_MOD_case_init_from_file at case.f90:121:28
frame #3: 0x0000000100161fb4 neko`__neko_MOD_neko_init at neko.f90:261:35
frame #4: 0x0000000100003670 neko`MAIN__ at usr_driver.f90:7:19
frame #5: 0x0000000100164030 neko`main at usr_driver.f90:2:6
frame #6: 0x0000000191303f28 dyld`start + 2236
(lldb) |
For your first point of flint failure regarding codes from others, my suggestion is to merge the latest develop branch into your own branch. As for the second point of .depend file, you could use makedepf90 tool to generate the dependency file. Please see neko contributing instructions |
Thank you for the help. I make sure that my branch is updated before pushing the changes. I will take a closer look to see if I can find a solution. |
@timfelle Here is a fun corner case
|
Head branch was pushed to by a user without write access
Pull request was closed
ba65a74
to
47cafd4
Compare
I just accidentally closed this PR. Would it be possible to open it again? |
You should be able to reopen it since it is from your repo |
I opened the pull request again. |
Note a bug in the linter rules, should be fixed by PR #1422
|
I changed variable names so that there is no error in this particular case from linter. |
I am sorry for all the problems. It would be great if someone could help me with the flint. I get different errors from flinter on my local machine than the ones on github. For example, for rhs_maker_sx, on my local machine, I get the "Lines too long" error although the lines are not over 80 characters at all. Here I get the "scope not specified" error (I didn't change this part of the code). I also get errors for fld_file.f90 which I haven't applied any changes to as far as I remember. For case.f90 I get "incorrect-spaces-before-separator" and "incorrect-spaces-after-separator" and I don't get what is wrong here. If I remove spaces before and after "::", I still have the same error in my local machine. |
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get flinter error for: if (pe_rank .ne. 0) allocate(character(len = integer_val) :: json_buffer). It seems that it requires an space between the separators (: :) which is wrong. Is there any way this can be solved?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have you synced with a recent develop? There has been some fixes for the linter that addressed similar issues
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the branch is up to date.
Also, should I use submodules for opr_cpu subroutines?
Head branch was pushed to by a user without write access
Pull request was closed
d84d7ab
to
ebb8e74
Compare
…b.com/Kamyarmvn/neko into Resolving-conflict-in-advection-fctry
I tried using submodules and it was working but then it would trigger the flinter on the old modules and some of them required some work in order to pass the linting rules (too many local variables,..), therefore I used the current state. |
Added the OIFS time scheme functionality.